home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
falcon
/
programm.ing
/
nt_dsp1.lzh
/
NT_DSP1.MSA
/
LFLTS
/
LATIIR.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-01-24
|
1KB
|
38 lines
;
; This program originally available on the Motorola DSP bulletin board.
; It is provided under a DISCLAMER OF WARRANTY available from
; Motorola DSP Operation, 6501 Wm. Cannon Drive W., Austin, Tx., 78735.
;
; Lattice IIR Filter Macro.
;
; Last Update 31 Jul 86 Version 1.0
;
latiir macro order
latiir ident 1,0
;
; Lattice IIR filter macro
;
; Input value in register A, output value in register A
;
; Macro call:
; latiir order ;call macro
;
; where 'order' is the number of reflections coefficients
; in the filter.
;
; Alters registers: x0 x1 y0 a b, r0 r4, pc sr
;
; Uses 2 locations on stack
;
;
move x:(r0)-,x0 y:(r4)+,y0 ;get first k, first state
macr -x0,y0,a x:(r0)-,x0 y:(r4)-,y0 ;do first section
do #order-1,_endlat ;do remaining sections
macr -x0,y0,a b,y:(r4)+ ;a-k*s, save previous state
move a,x1 y:(r4)+,b ;set a for mul, get st again
macr x1,x0,b x:(r0)-,x0 y:(r4)-,y0 ;fnd nxt s, nxt s, nxt k
_endlat
move b,y:(r4)+ ;round; save second last state
move x:(r0)+,x0 a,y:(r4)+ ;update r0, save last state
endm